}
}
MatchKind::NotPresent => {
- if !actual.contains(out) {
- Ok(())
- } else {
+ let mut a = actual.lines();
+ let e = out.lines();
+
+ let mut diffs = self.diff_lines(a.clone(), e.clone(), true);
+ while let Some(..) = a.next() {
+ let a = self.diff_lines(a.clone(), e.clone(), true);
+ if a.len() < diffs.len() {
+ diffs = a;
+ }
+ }
+ if diffs.is_empty() {
Err(format!(
"expected not to find:\n\
{}\n\n\
{}",
out, actual
))
+ } else {
+ Ok(())
}
}
}
.with_status(0)
.with_stderr_contains("[..]unused_normal_lib[..]")
.with_stderr_contains("[..]unused_normal_bin[..]")
- .with_stderr_does_not_contain("unused_normal_t1")
- .with_stderr_does_not_contain("unused_normal_ex1")
- .with_stderr_does_not_contain("unused_normal_b1")
- .with_stderr_does_not_contain("unused_unit_"),
+ .with_stderr_does_not_contain("[..]unused_normal_t1[..]")
+ .with_stderr_does_not_contain("[..]unused_normal_ex1[..]")
+ .with_stderr_does_not_contain("[..]unused_normal_b1[..]")
+ .with_stderr_does_not_contain("[..]unused_unit_[..]"),
);
p.root().join("target").rm_rf();
assert_that(
.with_stderr_contains("[..]unused_unit_t1[..]")
.with_stderr_contains("[..]unused_normal_ex1[..]")
.with_stderr_contains("[..]unused_unit_ex1[..]")
- .with_stderr_does_not_contain("unused_normal_b1")
- .with_stderr_does_not_contain("unused_unit_b1"),
+ .with_stderr_does_not_contain("[..]unused_normal_b1[..]")
+ .with_stderr_does_not_contain("[..]unused_unit_b1[..]"),
);
p.root().join("target").rm_rf();
assert_that(
.with_stderr_contains("[..]unused_normal_lib[..]")
.with_stderr_contains("[..]unused_normal_bin[..]")
.with_stderr_contains("[..]unused_unit_t1[..]")
- .with_stderr_does_not_contain("unused_unit_lib")
- .with_stderr_does_not_contain("unused_unit_bin")
- .with_stderr_does_not_contain("unused_normal_ex1")
- .with_stderr_does_not_contain("unused_normal_b1")
- .with_stderr_does_not_contain("unused_unit_ex1")
- .with_stderr_does_not_contain("unused_unit_b1"),
+ .with_stderr_does_not_contain("[..]unused_unit_lib[..]")
+ .with_stderr_does_not_contain("[..]unused_unit_bin[..]")
+ .with_stderr_does_not_contain("[..]unused_normal_ex1[..]")
+ .with_stderr_does_not_contain("[..]unused_normal_b1[..]")
+ .with_stderr_does_not_contain("[..]unused_unit_ex1[..]")
+ .with_stderr_does_not_contain("[..]unused_unit_b1[..]"),
);
p.root().join("target").rm_rf();
assert_that(